home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 4: GNU Archives / Linux Cubed Series 4 - GNU Archives.iso / gnu / binutils.7 / binutils / binutils-2.7 / ld / scripttempl / mips.sc < prev    next >
Encoding:
Text File  |  1996-07-04  |  1.5 KB  |  73 lines

  1. # Linker script for MIPS systems.
  2. # Ian Lance Taylor <ian@cygnus.com>.
  3. # These variables may be overridden by the emulation file.  The
  4. # defaults are appropriate for a DECstation running Ultrix.
  5. test -z "$ENTRY" && ENTRY=__start
  6.  
  7. if [ -z "$EMBEDDED" ]; then
  8.   test -z "$TEXT_START_ADDR" && TEXT_START_ADDR="0x400000 + SIZEOF_HEADERS"
  9. else
  10.   test -z "$TEXT_START_ADDR" && TEXT_START_ADDR="0x400000"
  11. fi
  12. if test "x$LD_FLAG" = "xn" -o "x$LD_FLAG" = "xN"; then
  13.   DATA_ADDR=.
  14. else
  15.   test -z "$DATA_ADDR" && DATA_ADDR=0x10000000
  16. fi
  17. cat <<EOF
  18. OUTPUT_FORMAT("${OUTPUT_FORMAT}", "${BIG_OUTPUT_FORMAT}",
  19.           "${LITTLE_OUTPUT_FORMAT}")
  20. ${LIB_SEARCH_DIRS}
  21.  
  22. ENTRY(${ENTRY})
  23.  
  24. SECTIONS
  25. {
  26.   ${RELOCATING+. = ${TEXT_START_ADDR};}
  27.   .text : {
  28.     ${RELOCATING+ _ftext = . };
  29.     *(.init)
  30.     ${RELOCATING+ eprol  =  .};
  31.     *(.text)
  32.     ${RELOCATING+PROVIDE (__runtime_reloc_start = .);}
  33.     *(.rel.sdata)
  34.     ${RELOCATING+PROVIDE (__runtime_reloc_stop = .);}
  35.     *(.fini)
  36.     ${RELOCATING+ etext  =  .};
  37.     ${RELOCATING+ _etext  =  .};
  38.   }
  39.   ${RELOCATING+. = ${DATA_ADDR};}
  40.   .rdata : {
  41.     *(.rdata)
  42.   }
  43.   ${RELOCATING+ _fdata = ALIGN(16);}
  44.   .data : {
  45.     *(.data)
  46.     ${CONSTRUCTING+CONSTRUCTORS}
  47.   }
  48.   ${RELOCATING+ _gp = ALIGN(16) + 0x8000;}
  49.   .lit8 : {
  50.     *(.lit8)
  51.   }
  52.   .lit4 : {
  53.     *(.lit4)
  54.   }
  55.   .sdata : {
  56.     *(.sdata)
  57.   }
  58.   ${RELOCATING+ edata  =  .;}
  59.   ${RELOCATING+ _edata  =  .;}
  60.   ${RELOCATING+ _fbss = .;}
  61.   .sbss : {
  62.     *(.sbss)
  63.     *(.scommon)
  64.   }
  65.   .bss : {
  66.     *(.bss)
  67.     *(COMMON)
  68.   }
  69.   ${RELOCATING+ end = .;}
  70.   ${RELOCATING+ _end = .;}
  71. }
  72. EOF
  73.